export default (str) => {
  const resultList = [];
  //   匹配规则
  const match = (newStr) => {
    // newStr = "00001111"
    //   第一位数字 0
    const firstNum = newStr[0];
    // 第二位数字 1
    const secondNum = Number(firstNum / 1) ? 0 : 1;
    // 第二位的索引 4 也代表第一位的数量
    const indexOfSecond = newStr.indexOf(secondNum);
    console.log({ newStr, firstNum, secondNum, indexOfSecond });
    // 不存在第二位
    if (indexOfSecond === -1) return false;
    // 理论上第二位 显示 "1111"
    const repeatOfSecondNum = String(secondNum).repeat(indexOfSecond);
    // 现实中的第二位的展示 "00001111".slice(4,8)
    const realOfSecondNum = newStr.slice(indexOfSecond, indexOfSecond * 2);
    console.log({ repeatOfSecondNum, realOfSecondNum });
    if (realOfSecondNum === repeatOfSecondNum) {
      // 理论和现实相同 判断 子字符串的下一位是不是还是和第二个数字相同
      if (newStr[indexOfSecond * 2] !== secondNum) {
        return newStr.slice(0, indexOfSecond * 2 - 1);
      }
    }
    return "";
  };
  for (let index = 0; index < str.length; index++) {
    const result = match(str.slice(index));
    if (result) {
      console.log({ result });
      resultList.push(result);
    }
  }
  return resultList.length;
};
